package com.lingnan.blog.provider;

import com.lingnan.blog.entity.Article;
import org.apache.ibatis.jdbc.SQL;
import org.springframework.util.StringUtils;

public class ArticleProvider extends SQL {
    //表明
    private static final String TABLE_NAME = "article";

    public String insert(Article article) {
        return new SQL() {
            {
                INSERT_INTO(TABLE_NAME);
                if (!StringUtils.isEmpty(article.getId())) {
                    VALUES("id", "#{id}");
                }
                if (!StringUtils.isEmpty(article.getUId())) {
                    VALUES("u_id", "#{uId}");
                }
                if (!StringUtils.isEmpty(article.getAuthor())) {
                    VALUES("author", "#{author}");
                }
                if (!StringUtils.isEmpty(article.getTitle())) {
                    VALUES("title", "#{title}");
                }
                if (!StringUtils.isEmpty(article.getCover())) {
                    VALUES("cover", "#{cover}");
                }
                if (!StringUtils.isEmpty(article.getTag())) {
                    VALUES("tag", "#{tag}");
                }
                if (!StringUtils.isEmpty(article.getContent())) {
                    VALUES("content", "#{content}");
                }
                if (!StringUtils.isEmpty(article.getViews())) {
                    VALUES("views", "#{views}");
                }
                if (!StringUtils.isEmpty(article.getCollects())) {
                    VALUES("collects", "#{collects}");
                }
                if (!StringUtils.isEmpty(article.getComments())) {
                    VALUES("comments", "#{comments}");
                }
                if (!StringUtils.isEmpty(article.getPutime())) {
                    VALUES("putime", "#{putime}");
                }
            }
        }.toString();
    }

    public String update(Article article) {
        return new SQL() {{
            UPDATE(TABLE_NAME);
            if (!StringUtils.isEmpty(article.getId())) {
                SET("id = #{id}");
            }
            if (!StringUtils.isEmpty(article.getUId())) {
                SET("u_id = #{uId}");
            }
            if (!StringUtils.isEmpty(article.getAuthor())) {
                SET("author = #{author}");
            }
            if (!StringUtils.isEmpty(article.getTitle())) {
                SET("title = #{title}");
            }
            if (!StringUtils.isEmpty(article.getCover())) {
                SET("cover = #{cover}");
            }
            if (!StringUtils.isEmpty(article.getTag())) {
                SET("tag = #{tag}");
            }
            if (!StringUtils.isEmpty(article.getContent())) {
                SET("content = #{content}");
            }
            if (!StringUtils.isEmpty(article.getViews())) {
                SET("views = #{views}");
            }
            if (!StringUtils.isEmpty(article.getCollects())) {
                SET("collects = #{collects}");
            }
            if (!StringUtils.isEmpty(article.getComments())) {
                SET("comments = #{comments}");
            }
            if (!StringUtils.isEmpty(article.getPutime())) {
                SET("putime = #{putime}");
            }
            WHERE("id = #{id}");
        }}.toString();
    }
}
